<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    //一.BOM的概念：
    //BOM提供了很多对象，用于访问浏览器的功能，这些功能与任何网页内容无关。
    //BOM 的核心对象是 window ，它表示浏览器的一个实例。
    //window有双重角色，既是通过JavaScript 访问浏览器窗口的一个接口,又是ECMAScript规定的全局对象。

    //二.window内置对象及方法
    //1.window的子对象 - location对象(和地址栏有关)
    //地址栏的组成部分。
    //网站网址(域名) + 路径(文件位置) + ?拼接数据(多条数据用&符号连接)  + #哈希值(hash)
    //http://www.baidu.com/src/index.html?name=zhangsan&age=100#about
    //域名：http://www.baidu.com
    //路径：/src/index.html
    //数据：?name=zhangsan&age=100    -- 重要
    //哈希值(页面跳转使用): #about     -- 重要

    //1.1.href属性：读写地址栏的所有的内容。地址栏的中文自动编码(系统自动完成)
    // console.log(window.location.href);   //读
    // location.href = 'http://www.jd.com'; //写

    //1.2.search属性：读取地址栏?后面的数据，包括?一起。
    // console.log(location.search);

    //1.3.hash属性：读取地址栏#后面的数据，包括#一起。
    // console.log(location.hash);

    //1.4.assign()方法：设置地址栏。
    // location.assign('http://www.baidu.com'); //设置地址栏
    // window.location = 'http://www.qq.com';  //设置地址栏
    // document.onclick = function() {
    //     window.location = 'http://www.qq.com';
    // }

    //1.5.reload(true)方法：刷新页面，可以设置参数为true，缓存中刷新.
    // location.reload(true); //刷新


    //2..window的子对象 -- history对象 - 了解
    // history.go(num) 函数 -- 前进或后退指定的页面数（负数后退，正数前进）
    // history.back() 函数 -- 后退一页
    // history.forward() 函数 -- 前进一页
    // history.length 属性 -- history对象中缓存了多少个URL


    //3.window的子对象 -- navigator对象(浏览器自身的信息)
    // userAgent  用户代理信息，通过该属性可以获取浏览器及操作系统信息

    // firefox:
    // "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0"
    // chrome:
    // "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36"
    // IE
    // "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)"
</script>